package com.huihong.internship.system.Mapper;


import com.github.pagehelper.Page;
import com.huihong.internship.system.DTO.InternshipMaterialDTO;
import com.huihong.internship.system.DTO.InternshipMaterialPageQueryDTO;
import com.huihong.internship.system.DTO.PositionPageQueryDTO;
import com.huihong.internship.system.VO.EnterPriseVO;
import com.huihong.internship.system.VO.InternshipMaterialItemVO;
import com.huihong.internship.system.VO.PositionVO;
import com.huihong.internship.system.entity.InternshipScore;
import com.huihong.internship.system.entity.SysStudent;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface StudentMapper {



    @Select("select * from sys_student where user_id = #{userId}")
    SysStudent getInfo(@Param("userId") Long userId);



    void updateInfo(SysStudent sysStudent);

    /**
     * 岗位分页查询
     */
    Page<PositionVO> getPageInfo(PositionPageQueryDTO queryDTO);


    /**
     * 根据ID查询企业
     * @param enterpriseId
     * @return
     */
    EnterPriseVO getEnterPriseById(@Param("enterpriseId") Long enterpriseId);

    /**
     * 提交实习材料
     * @param userId
     * @param dto
     */
    void insertMaterial(@Param("userId") Long userId, @Param("dto") InternshipMaterialDTO dto);
    
    /**
     * 分页查询材料申请
     * @param userId
     * @param dto
     * @return
     */
    Page<InternshipMaterialItemVO> materialsPageQuery(@Param("userId") Long userId, @Param("dto") InternshipMaterialPageQueryDTO dto);
    
    /**
     * 查看成绩与反馈
     * @param userId
     * @return
     */
    InternshipScore getEvaluation(@Param("userId") Long userId);
}
